/* 
    Squirrel open project
    Copyright (C) 2012  Elias Aran Paul Farhan
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef SQUIRREL_GAME_H
#define SQUIRREL_GAME_H
#include <squirrel/const.hpp>

#include <squirrel/gameobject.hpp>
#include <squirrel/character.hpp>
#include <utility/xmlreader.hpp>
#include <utility/gltexture.h>
#include <squirrel/box.hpp>


class Game
{
	public:
		Game();
		virtual ~Game();
		void setScreenSize(Point);
		int init(std::string xmlfilename);
		void addplayer(Character*);
		void manageKey(bool keys[4]);
		void updateScene();
		void drawScene();
		GLuint importImg(std::string filename, unsigned int*, unsigned int*);
	private:
		std::map<std::string, GLuint> imgs;
		Character* player;
		std::vector<GameObject*> objects;
		Point screen_pos;
		Point screen_size;
};
#endif
